jQuery.fn.rowspan = function(colIdx) {
	return this.each( function() {
		var that;
		$('tr', this).each(
				function(row) {
					$('td:eq(' + colIdx + ')', this).filter(':visible').each(
							function(col) {
								// add that!=null by hxzon
								if (that != null
										&& $(this).html() == $(that).html()) {
									rowspan = $(that).attr("rowSpan");
									if (rowspan == undefined) {

										$(that).attr("rowSpan", 1);
										rowspan = $(that).attr("rowSpan");
									}
									rowspan = Number(rowspan) + 1;
									$(that).attr("rowSpan", rowspan); // do
																		// your
																		// action
																		// for
																		// the
																		// colspan
																		// cell
																		// here
									$(this).hide(); // .remove(); // do your
													// action for the old cell
													// here
								} else {
									that = this;
								}
								// that = (that == null) ? this : that; // set
								// the that if not already set
							});
				});
	});
}